<?php

/**
 * EventCode.
 *
 * PHP version 8.3
 *
 * @category Class
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */

/**
 * Amazon Shipping API.
 *
 * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.
 *
 * The version of the OpenAPI document: v2
 * Contact: swa-api-core@amazon.com
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

namespace SpApi\Model\shipping\v2;

/**
 * EventCode Class Doc Comment.
 *
 * @category Class
 *
 * @description The tracking event type.
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */
class EventCode
{
    /**
     * Possible values of this enum.
     */
    public const READY_FOR_RECEIVE = 'ReadyForReceive';

    public const PICKUP_DONE = 'PickupDone';

    public const DELIVERED = 'Delivered';

    public const DEPARTED = 'Departed';

    public const DELIVERY_ATTEMPTED = 'DeliveryAttempted';

    public const LOST = 'Lost';

    public const OUT_FOR_DELIVERY = 'OutForDelivery';

    public const ARRIVED_AT_CARRIER_FACILITY = 'ArrivedAtCarrierFacility';

    public const REJECTED = 'Rejected';

    public const UNDELIVERABLE = 'Undeliverable';

    public const PICKUP_CANCELLED = 'PickupCancelled';

    public const RETURN_INITIATED = 'ReturnInitiated';

    public const AVAILABLE_FOR_PICKUP = 'AvailableForPickup';

    public const RECIPIENT_REQUESTED_ALTERNATE_DELIVERY_TIMING = 'RecipientRequestedAlternateDeliveryTiming';

    /**
     * Gets allowable values of the enum.
     *
     * @return string[]
     */
    public static function getAllowableEnumValues(): array
    {
        return [
            self::READY_FOR_RECEIVE,
            self::PICKUP_DONE,
            self::DELIVERED,
            self::DEPARTED,
            self::DELIVERY_ATTEMPTED,
            self::LOST,
            self::OUT_FOR_DELIVERY,
            self::ARRIVED_AT_CARRIER_FACILITY,
            self::REJECTED,
            self::UNDELIVERABLE,
            self::PICKUP_CANCELLED,
            self::RETURN_INITIATED,
            self::AVAILABLE_FOR_PICKUP,
            self::RECIPIENT_REQUESTED_ALTERNATE_DELIVERY_TIMING,
        ];
    }
}
